/**
 * 企业科技奖励
 */
/**
 * 科技奖励数据源
 * 
 * @class enterprsie_tech_reward_store
 * @extends Ext.data.GroupingStore
 */
enterprsie_tech_reward_store = Ext.extend(Ext.data.GroupingStore, {
	constructor : function() {
		// this.cfg = _cfg;
		enterprsie_tech_reward_store.superclass.constructor.call(this, {
			proxy : new Ext.data.HttpProxy({
				url : 'cxxqysjsb/enterprise_reward/getallenterprsie_reward.action?uid='
						+ userId,// 用户的ID
				method : 'post'
			}),
			autoLoad : true,
			sortInfo : {
				field : 'reward_id',
				direction : "ASC"
			},
			groupField : 'reward_year',
			reader : new Ext.data.JsonReader({
						fields : ['reward_id', 'editable', 'reward_type',
								'enterprise_id', 'reward_check_pass',
								'reward_is_new', 'reward_type_sb',
								'reward_name', 'reward_date', 'reward_year']
					})
		})
	}
});
/**
 * 信息表格
 * 
 * @class enterprsie_tech_reward_grid
 * @extends Ext.grid.GridPanel
 */
enterprsie_tech_reward_grid = Ext.extend(Ext.grid.GridPanel, {
	store : null,
	addwin : null,
	editwin : null,
	constructor : function() {
		this.store = new enterprsie_tech_reward_store();
		 this.addwin = new addenterprsie_reward_formpanel_win();
		enterprsie_tech_reward_grid.superclass.constructor.call(this, {
			loadMask : {
				msg : '数据加载中...'
			},
			title : '企业基本情况-企业科技奖励情况',
			iconCls : 'SMLPoolManage_sml',
			sm : arrsm,
			frame : true,
			view : new Ext.grid.GroupingView({
				forceFit : true,
				groupTextTpl : '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "条数据" : "条数据"]})'
			}),
			cm : new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
						header : 'ID',
						width : 10,
						dataIndex : 'reward_id',
						id : 'reward_id',
						hidden : true,
						align : 'center'
					}, {
						header : '企业编号',
						width : 10,
						dataIndex : 'enterprise_id',
						id : 'enterprise_id',
						hidden : true,
						align : 'center'
					}, {
						header : '年度',
						width : 10,
						dataIndex : 'reward_year',
						id : 'reward_year',
						renderer : this.getstandard_yearName,
						hidden : true,
						align : 'center'
					}, {
						header : '奖励类型',
						width : 100,
						dataIndex : 'reward_type',
						id : 'reward_type',
						renderer : this.getstandard_typename,
						sortable : false,
						align : 'center'
					}, {
						header : '奖励名称',
						width : 100,
						dataIndex : 'reward_name',
						id : 'reward_name',
						sortable : false,
						align : 'center'
					}, {
						header : '获奖时间',
						width : 100,
						dataIndex : 'reward_date',
						id : 'reward_date',
						sortable : false,
						align : 'center'
					}, {
						header : '申报类型',
						width : 100,
						dataIndex : 'reward_type_sb',
						id : 'reward_type_sb',
						sortable : false,
						renderer : this.getreward_type_sbname,
						align : 'center'
					}, {
						header : '审核状态',
						width : 100,
						dataIndex : 'reward_check_pass',
						id : 'reward_check_pass',
						sortable : false,
						renderer : this.standard_check_passName,
						align : 'center'
					}]),
			tbar : [{
				text : '增加<font color="red">' + OPTION_NDDECLARE_YEAR + '年'
						+ getDataType(OPTION_DATA_TYPE) + '</font>企业奖励数据',
				scope : this,
				iconCls : 'itemadd',
				handler : function() {
					this.addwin.show(Ext.getDom('login-view'));
				}
			}, '-', {
				text : '修改',
				scope : this,
				tooltip : '只允许修改草稿数据',
				iconCls : 'smlEdit_edit',
				handler : function() {
					// this.editwin = new editenterprsie_reward_formpanel_win()
					var ro = this.getSelectionModel().getSelected();
					if (!ro) {
						Ext.Msg.show({
									title : '提示',
									msg : '没有选择数据',
									icon : Ext.Msg.ERROR,
									buttons : Ext.Msg.OK
								});
						return;
					} else {
						var checkresult = ro.get('reward_check_pass');
						if (checkresult == 0) {
							Ext.Msg.show({
										title : '提示',
										msg : '正在审核的数据不能修改',
										icon : Ext.Msg.ERROR,
										buttons : Ext.Msg.OK
									});
							return;
						}
						if (checkresult == 1 || checkresult == 2) {
							Ext.Msg.show({
										title : '提示',
										msg : '审核完成的数据不能修改',
										icon : Ext.Msg.ERROR,
										buttons : Ext.Msg.OK
									});
							return;
						}
						var cfg = {
							rid : ro.get('reward_id'),
							eid : ro.get('enterprise_id'),
							reward_year : ro.get('reward_year'),
							reward_type : ro.get('reward_type'),
							reward_name : ro.get('reward_name'),
							reward_type_sb : ro.get('reward_type_sb'),
							reward_date : ro.get('reward_date')
						};
						this.editwin = new editenterprsie_reward_formpanel_win(cfg);
						this.editwin.show(Ext.getDom('login-view'));
						this.editwin.on('editok', function() {
									this.getStore().reload()
								}, this);
					}
				}
			}, '-', {
				text : '刷新',
				scope : this,
				iconCls : 'refreshtty',
				handler : function() {
					this.getStore().reload();
				}
			}]
		});
		this.addwin.on('addok', function() {
					this.getStore().reload()
				}, this);
	},
	getstandard_yearName : function(value) {
		return value + '年';
	},
	getstandard_typename : function(code) {
		return getenteprewardtype_combox_store(code);
	},
	getreward_type_sbname : function(code) {
		return '<font color="red">' + getDataType(code) + '</font>';
	},
	standard_check_passName : function(code) {
		return getCheckResultName(code);
	}
});
addenterprsie_reward_formpanel = Ext.extend(Ext.form.FormPanel, {
			constructor : function() {
				addenterprsie_reward_formpanel.superclass.constructor.call(
						this, {
							frame : true,
							height : 190,
							bodyStyle : 'padding: 10px 0px 0 10px;',
							labelWidth : 80,
							labelAlign : 'right',
							defaults : {
								anchor : '95%',
								allowBlank : true,
								msgTarget : 'side'
							},
							items : [{
										xtype : 'hidden',
										name : 'userid',
										value : userId
									}, {
										xtype : 'textfield',
										fieldLabel : '申报年度',
										anchor : '99%',
										name : 'type',
										readOnly : true,
										disabled : true,
										value : OPTION_NDDECLARE_YEAR + '年'
												+ getDataType(OPTION_DATA_TYPE)
												+ ''
									}, {
										xtype : 'combo',
										fieldLabel : '科技奖励类型',
										hiddenName : 'reward_type',
										triggerAction : 'all',
										displayField : 'name',
										readOnly : true,
										valueField : 'id',
										mode : 'local',
										anchor : '99%',
										store : enteprewardtype_combox_store,
										emptyText : '请选择科技奖励类型',
										allowBlank : false,
										blankText : '请选择科技奖励类型'
									}, {
										xtype : 'textfield',
										fieldLabel : '奖励名称',
										name : 'reward_name',
										allowBlank : false,
										blankText : '奖励名称不能为空',
										anchor : '99%'
									}, {
										xtype : 'datefield',
										fieldLabel : '获奖时间',
										name : 'reward_date',
										allowBlank : false,
										blankText : '获奖时间不能为空',
										anchor : '99%'
									}]
						});
			}
		});
addenterprsie_reward_formpanel_win = Ext.extend(Ext.Window, {
	panel : null,
	constructor : function() {
		this.panel = new addenterprsie_reward_formpanel();
		addenterprsie_reward_formpanel_win.superclass.constructor.call(this, {
					width : 500,
					title : '申报<font color="red">' + OPTION_NDDECLARE_YEAR
							+ '年' + getDataType(OPTION_DATA_TYPE)
							+ '</font>科技奖励数据',
					iconCls : 'itemadd',
					// layout : 'form',
					closeAction : 'hide',
					frame : true,
					modal : true,
					plain : true,
					items : this.panel,
					buttons : [{
								text : '保存草稿',
								scope : this,
								iconCls : 'itemadd',
								handler : this.submit
							}, {
								text : '取消',
								scope : this,
								iconCls : 'cancel',
								handler : function() {
									this.panel.getForm().reset();
									this.hide()
								}
							}]
				});
		this.addEvents('addok');
	},
	submit : function() {
		var form = this.panel.getForm();
		if (!form.isValid()) {
			Ext.Msg.show({
						title : '提示',
						msg : '数据没有填写完整',
						icon : Ext.Msg.WARNING,
						buttons : Ext.MessageBox.OK
					});
			return;
		} else {
			var uid = form.findField('userid').getValue();
			var reward_type = form.findField('reward_type').getValue();
			var reward_name = form.findField('reward_name').getValue();
			var reward_date = form.findField('reward_date').getValue();
			var year = OPTION_NDDECLARE_YEAR;
			var type = OPTION_DATA_TYPE;
			Ext.Ajax.request({
				url : 'cxxqysjsb/enterprise_reward/insertnewenterpriserewarddata.action?',
				params : {
					uid : uid,
					year : year,
					type : type,
					reward_type : reward_type,
					reward_name : reward_name,
					reward_date : reward_date
				},
				scope : this,
				success : function(response, options) {
					if (response.responseText == 'ok') {
						this.fireEvent('addok');
						this.hide();
					} else if (response.responseText == 'fail') {
						Ext.Msg.show({
									title : '提示',
									msg : '数据传输失败',
									icon : Ext.Msg.WARNING,
									buttons : Ext.Msg.OK
								});
						return;
					}
				}
			});
		}
	}
});
// ////////////////修改窗体
editenterprsie_reward_formpanel = Ext.extend(Ext.form.FormPanel, {
			cfg : null,
			constructor : function(_cfg) {
				this.cfg = _cfg;
				editenterprsie_reward_formpanel.superclass.constructor.call(
						this, {
							frame : true,
							height : 150,
							bodyStyle : 'padding: 10px 0px 0 10px;',
							labelWidth : 80,
							labelAlign : 'right',
							defaults : {
								anchor : '95%',
								allowBlank : true,
								msgTarget : 'side'
							},
							items : [{
										xtype : 'hidden',
										name : 'rid',
										value : this.cfg.rid
									}, {
										xtype : 'hidden',
										name : 'eid',
										value : this.cfg.eid
									}, {
										xtype : 'combo',
										fieldLabel : '科技奖励类型',
										hiddenName : 'reward_type',
										triggerAction : 'all',
										displayField : 'name',
										readOnly : true,
										valueField : 'id',
										mode : 'local',
										anchor : '99%',
										value : this.cfg.reward_type,
										store : enteprewardtype_combox_store,
										emptyText : '请选择科技奖励类型',
										allowBlank : false,
										blankText : '请选择科技奖励类型'
									}, {
										xtype : 'textfield',
										fieldLabel : '奖励名称',
										name : 'reward_name',
										allowBlank : false,
										value : this.cfg.reward_name,
										blankText : '奖励名称不能为空',
										anchor : '99%'
									}, {
										xtype : 'datefield',
										fieldLabel : '获奖时间',
										name : 'reward_date',
										value : this.cfg.reward_date,
										allowBlank : false,
										blankText : '获奖时间不能为空',
										anchor : '99%'
									}]
						});
			}

		});
editenterprsie_reward_formpanel_win = Ext.extend(Ext.Window, {
			panel : null,
			cfg : null,
			constructor : function(_cfg) {
				this.cfg = _cfg;
				this.panel = new editenterprsie_reward_formpanel(this.cfg);
				editenterprsie_reward_formpanel_win.superclass.constructor
						.call(this, {
									width : 500,
									title : '修改<font color="red">'
											+ this.cfg.reward_year
											+ '年'
											+ getDataType(this.cfg.reward_type_sb)
											+ '</font>科技奖励数据',
									iconCls : 'configmanage',
									// layout : 'form',
									closeAction : 'hide',
									frame : true,
									modal : true,
									plain : true,
									items : this.panel,
									buttons : [{
												text : '保存修改草稿',
												scope : this,
												iconCls : 'itemadd',
												handler : this.submit
											}, {
												text : '取消',
												scope : this,
												iconCls : 'cancel',
												handler : function() {
													this.hide()
												}
											}]
								});
								this.addEvents('editok');
			},
			submit:function(){
				var form = this.panel.getForm();
		if (form.isValid()) {
			var rid = form.findField('rid').getValue();
			var eid = form.findField('eid').getValue();
			var reward_type = form.findField('reward_type').getValue();
			var reward_name = form.findField('reward_name').getValue();
			var reward_date = form
					.findField('reward_date').getValue();
			Ext.Ajax.request({
				url : 'cxxqysjsb/enterprise_reward/updateenterpriserewarddata.action?',
				params : {
					sid : rid,
					eid : eid,
					reward_type : reward_type,
					reward_name : reward_name,
					reward_date : reward_date
				},
				scope : this,
				success : function(response, options) {
					if (response.responseText == 'ok') {
						this.fireEvent('editok');
						this.hide();
					} else if (response.responseText == 'fail') {
						Ext.Msg.show({
									title : '提示',
									msg : '数据传输失败',
									icon : Ext.Msg.WARNING,
									buttons : Ext.Msg.OK
								});
						return;
					}
				}
			});
		} else {
			Ext.Msg.show({
						title : '提示',
						msg : '请填写完整数据',
						icon : Ext.Msg.WARNING,
						buttons : Ext.Msg.OK
					});
			return;
		}
			}
		});
Ext.extend(demo.module, {
			init : function() {
				this.datareportreward = new enterprsie_tech_reward_grid();
				this.main.add(this.datareportreward);
				this.main.doLayout();
			}
		});